package com.ruoyi.pos.service.system;

import com.ruoyi.pos.domain.dto.system.request.GroupQueryRequest;
import com.ruoyi.pos.domain.dto.system.response.GroupResponse;
import com.ruoyi.pos.domain.dto.common.response.BasePageResponse;

import java.util.List;

/**
 * POS柜组Service接口
 * 
 * @author ruoyi
 * @date 2025-01-30
 */
public interface IPosGroupService {

    /**
     * 查询单个柜组信息
     * 支持根据ID、编码查询
     * 
     * @param request 查询请求
     * @return 柜组信息
     */
    GroupResponse getGroup(GroupQueryRequest request);

    /**
     * 分页查询柜组列表
     * 
     * @param request 查询请求
     * @return 分页响应
     */
    BasePageResponse<GroupResponse> queryGroups(GroupQueryRequest request);

    /**
     * 构建柜组树结构
     * 
     * @return 柜组树结构
     */
    List<GroupResponse> buildGroupTree();
}
